package org.jeecg.modules.exProject.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;

/**
 * @Description: 立项项目
 * @Author: jeecg-boot
 * @Date:   2024-08-31
 * @Version: V1.0
 */
@ApiModel(value="ex_project对象", description="立项项目")
@Data
@TableName("ex_project")
public class ExProject implements Serializable {
    private static final long serialVersionUID = 1L;

	/**id*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "id")
    private java.lang.String id;
	/**项目标识码 (guid)*/
	@Excel(name = "项目标识码 (guid)", width = 15)
    @ApiModelProperty(value = "项目标识码 (guid)")
    private java.lang.String projectId;
    /**项目编号*/
    @Excel(name = "项目编号", width = 15)
    @ApiModelProperty(value = "项目编号")
    private java.lang.String projectCode;
    /**项目名称*/
    @Excel(name = "项目名称", width = 15)
    @ApiModelProperty(value = "项目名称")
    private java.lang.String projectName;
    /**项目所在行政区域代码*/
    @Excel(name = "项目所在行政区域代码", width = 15, dicCode = "sys_kf_area")
    @Dict(dicCode = "sys_kf_area")
    @ApiModelProperty(value = "项目所在行政区域代码")
    private java.lang.String regionCode;
    /**投资项目统一代码*/
    @Excel(name = "投资项目统一代码", width = 15)
    @ApiModelProperty(value = "投资项目统一代码")
    private java.lang.String investProjectCode;
    /**项目地址*/
    @Excel(name = "项目地址", width = 15)
    @ApiModelProperty(value = "项目地址")
    private java.lang.String address;
    /**项目法人*/
    @Excel(name = "项目法人", width = 15)
    @ApiModelProperty(value = "项目法人")
    private java.lang.String legalPerson;
    /**项目行业分类*/
    @Excel(name = "项目行业分类", width = 15, dicCode = "sys_industry_category")
    @Dict(dicCode = "sys_industry_category")
    @ApiModelProperty(value = "项目行业分类")
    private java.lang.String industriesType;
    /**资金来源*/
    @Excel(name = "资金来源", width = 15)
    @ApiModelProperty(value = "资金来源")
    private java.lang.String fundSource;
    /**出资比例*/
    @Excel(name = "出资比例", width = 15)
    @ApiModelProperty(value = "出资比例")
    private java.lang.String contributionScale;
    /**项目规模*/
    @Excel(name = "项目规模", width = 15)
    @ApiModelProperty(value = "项目规模")
    private java.lang.String projectScale;
    /**联系人*/
    @Excel(name = "联系人", width = 15)
    @ApiModelProperty(value = "联系人")
    private java.lang.String contactor;
    /**联系方式*/
    @Excel(name = "联系方式", width = 15)
    @ApiModelProperty(value = "联系方式")
    private java.lang.String contactInformation;
    /**是否立项*/
    @Excel(name = "是否立项", width = 15, dicCode = "yn")
    @Dict(dicCode = "yn")
    @ApiModelProperty(value = "是否立项")
    private java.lang.String islixiang;
    /**不立项原因*/
    @Excel(name = "不立项原因", width = 15)
    @ApiModelProperty(value = "不立项原因")
    private java.lang.String notlixiang;
    /**监督部门名称*/
    @Excel(name = "监督部门名称", width = 15)
    @ApiModelProperty(value = "监督部门名称")
    private java.lang.String superviseDeptName;
    /**监督部门代码*/
    @Excel(name = "监督部门代码", width = 15)
    @ApiModelProperty(value = "监督部门代码")
    private java.lang.String superviseDeptCode;
    /**项目审批文件名称*/
    @Excel(name = "项目审批文件名称", width = 15)
    @ApiModelProperty(value = "项目审批文件名称")
    private java.lang.String approvalName;
    /**项目审批文号*/
    @Excel(name = "项目审批文号", width = 15)
    @ApiModelProperty(value = "项目审批文号")
    private java.lang.String approvalNumber;
    /**项目审批单位*/
    @Excel(name = "项目审批单位", width = 15)
    @ApiModelProperty(value = "项目审批单位")
    private java.lang.String approvalAuthority;
    /**项目建立时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "项目建立时间")
    private java.util.Date createTime;
    /**附件关联标识号*/
    @Excel(name = "附件关联标识号", width = 15)
    @ApiModelProperty(value = "附件关联标识号")
    private java.lang.String attachmentCode;
    /**交易系统标识码*/
    @Excel(name = "交易系统标识码", width = 15)
    @ApiModelProperty(value = "交易系统标识码")
    private java.lang.String platformCode;

    @Excel(name = "地区标识码", width = 15)
    @ApiModelProperty(value = "地区标识码")
    private java.lang.String sysPlatformCode;
    /**数据时间戳*/
    @Excel(name = "数据时间戳", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "数据时间戳")
    private java.util.Date dataTimestamp;
    /**国有资金（万元）*/
    @Excel(name = "国有资金（万元）", width = 15)
    @ApiModelProperty(value = "国有资金（万元）")
    private java.math.BigDecimal stateOwnedFund;
    /**国有资金比例*/
    @Excel(name = "国有资金比例", width = 15)
    @ApiModelProperty(value = "国有资金比例")
    private java.math.BigDecimal stateOwnedFundRatio;
    /**私有资金（万元）*/
    @Excel(name = "私有资金（万元）", width = 15)
    @ApiModelProperty(value = "私有资金（万元）")
    private java.math.BigDecimal privateFund;
    /**私有资金比例*/
    @Excel(name = "私有资金比例", width = 15)
    @ApiModelProperty(value = "私有资金比例")
    private java.math.BigDecimal privateFundRatio;
    /**外国政府及组织投资（万元）*/
    @Excel(name = "外国政府及组织投资（万元）", width = 15)
    @ApiModelProperty(value = "外国政府及组织投资（万元）")
    private java.math.BigDecimal foreignFund;
    /**外国政府及组织投资比例*/
    @Excel(name = "外国政府及组织投资比例", width = 15)
    @ApiModelProperty(value = "外国政府及组织投资比例")
    private java.math.BigDecimal foreignFundRatio;
    /**境外私人投资（万元）*/
    @Excel(name = "境外私人投资（万元）", width = 15)
    @ApiModelProperty(value = "境外私人投资（万元）")
    private java.math.BigDecimal foreignPrivateFund;
    /**境外私人投资比例*/
    @Excel(name = "境外私人投资比例", width = 15)
    @ApiModelProperty(value = "境外私人投资比例")
    private java.math.BigDecimal foreignPrivateFundRatio;
	/**项目状态(0-保存 1-送审 2-通过 3-驳回)*/
	@Excel(name = "项目状态(0-保存 1-送审 2-通过 3-驳回)", width = 15, dicCode = "sys_common_status")
    @Dict(dicCode = "sys_common_status")
    @ApiModelProperty(value = "项目状态(0-保存 1-送审 2-通过 3-驳回)")
    private java.lang.String status;
    /**
     * @see org.jeecg.modules.exProject.constant.ExProjectStepEnum
     */
    @Excel(name = "项目进度", width = 15)
    @ApiModelProperty(value = "项目进度")
    private java.lang.Integer step;

    @Excel(name = "代理机构代码", width = 15)
    @ApiModelProperty(value = "代理机构代码")
    private java.lang.String agencyCode;
    @Excel(name = "代理机构名称", width = 15)
    @ApiModelProperty(value = "代理机构名称")
    private java.lang.String agencyName;
    @Excel(name = "招标人代码", width = 15)
    @ApiModelProperty(value = "招标人代码")
    private java.lang.String tenderCode;
    @Excel(name = "招标人名称", width = 15)
    @ApiModelProperty(value = "招标人名称")
    private java.lang.String tenderName;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private java.lang.String createBy;
	/**更新人*/
    @ApiModelProperty(value = "更新人")
    private java.lang.String updateBy;
	/**更新时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "更新时间")
    private java.util.Date updateTime;
	/**版本号*/
	@Excel(name = "版本号", width = 15)
    @ApiModelProperty(value = "版本号")
    private java.lang.Integer version;
    /*展示字段*/
    @TableField(exist = false)
    private String industryType;//行业分类展示字段，获取树形节点对应名称
}
